package controle;

import java.util.List;

import persistencia.Apresentacao;
import persistencia.Cliente;
import persistencia.Fabricante;
import persistencia.Funcionario;
import persistencia.Lote;
import persistencia.MargemLucro;
import persistencia.Produto;
import persistencia.Venda;
import dao.ApresentacaoDAO;
import dao.ClienteDAO;
import dao.FabricanteDAO;
import dao.FuncionarioDAO;
import dao.GenericoDAO;
import dao.LoteDAO;
import dao.MargemLucroDAO;
import dao.ProdutoDAO;
import dao.UsuarioDAO;
import dao.VendaDAO;

public class Controlador {
	GenericoDAO genericoDAO = new GenericoDAO();
	UsuarioDAO usuarioDAO = new UsuarioDAO();
	ClienteDAO clienteDAO = new ClienteDAO();
	LoteDAO loteDAO = new LoteDAO();
	MargemLucroDAO margemLucroDAO = new MargemLucroDAO();
	ApresentacaoDAO apresentacaoDAO = new ApresentacaoDAO();
	ProdutoDAO produtoDAO = new ProdutoDAO();
	FabricanteDAO fabricanteDAO = new FabricanteDAO();
	FuncionarioDAO funcionarioDAO = new FuncionarioDAO();
	VendaDAO vendaDAO = new VendaDAO();
	
	public void Salvar(Object obj) throws Exception {
		genericoDAO.salvar(obj);
	}

	public void Alterar(Object obj) throws Exception {
		genericoDAO.alterar(obj);
	}

	public void Excluir(Object obj) throws Exception {
		genericoDAO.excluir(obj);
	}

	public void SalvarAlterar(Object obj) throws Exception {
		genericoDAO.salvarAlterar(obj);
	}

	public boolean validarLogin(String usuario, String senha) {
		return usuarioDAO.validarLogin(usuario, senha);
	}

	public List<Cliente> listarCliente() {
		return clienteDAO.listarCliente();
	}

	public List<Lote> listarLote() {
		return loteDAO.listarLote();
	}

	public List<MargemLucro> listarMargemLucro() {
		return margemLucroDAO.listarMargemLucro();
	}

	public List<Apresentacao> listarApresentacao() {
		return apresentacaoDAO.listarApresentacao();
	}

	public List<Produto> listarProduto() {
		return produtoDAO.listarProduto();
	}

	public List<Fabricante> listarFabricante() {
		return fabricanteDAO.listarFabricante();
	}

	public List<Funcionario> listarFuncionario() {
		return funcionarioDAO.listarFuncionario();
	}
	
	public List<Venda> listarVenda() {
		return vendaDAO.listarVenda();
	}
}
